package com.dianxin.smartpark.manager.visitor.impl;

import com.dianxin.smartpark.dao.dataobject.visitor.SmartParkVisitor;
import com.dianxin.smartpark.dao.dataobject.visitor.SmartParkVisitorExample;
import com.dianxin.smartpark.dao.mapper.visitor.SmartParkVisitorMapper;
import com.dianxin.smartpark.dao.qo.visitor.SmartParkVisitorQO;
import com.dianxin.smartpark.manager.visitor.ISmartParkVisitorService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 访客管理Service业务层处理
 *
 * @author chenjiasong
 * @date 2021-07-15
 */
@Service
public class ISmartParkVisitorServiceImpl implements ISmartParkVisitorService
{
    private final static Logger logger = LoggerFactory.getLogger(ISmartParkVisitorServiceImpl.class);
    @Autowired
    private SmartParkVisitorMapper smartParkVisitorMapper;

    /**
     * 查询访客管理
     *
     * @param id 访客管理ID
     * @return 访客管理
     */
    @Override
    public SmartParkVisitor selectSmartParkVisitorById(Long id)
    {
        return smartParkVisitorMapper.selectByPrimaryKey(id);
    }

    /**
     * 查询访客管理列表
     *
     * @param qo 访客管理
     * @return 访客管理
     */
    @Override
    public List<SmartParkVisitor> selectSmartParkVisitorList(SmartParkVisitorQO qo)
    {
        SmartParkVisitorExample SmartParkVisitorExample = new SmartParkVisitorExample();
        SmartParkVisitorExample.Criteria criteria = SmartParkVisitorExample.createCriteria();
        if (qo.getTenantId() != null) {
            criteria.andTenantIdEqualTo(qo.getTenantId());
        }
        criteria.andIsDeletedEqualTo(0);

        List<SmartParkVisitor> passRecords = smartParkVisitorMapper.selectByExample(SmartParkVisitorExample);
        return passRecords;
    }

    /**
     * 新增访客管理
     *
     * @param smartParkVisitor 访客管理
     * @return 结果
     */
    @Override
    public int insertSmartParkVisitor(SmartParkVisitor smartParkVisitor)
    {
        // 验证 todo
        return smartParkVisitorMapper.insert(smartParkVisitor);
    }

    /**
     * 修改访客管理
     *
     * @param smartParkVisitor 访客管理
     * @return 结果
     */
    @Override
    public int updateSmartParkVisitor(SmartParkVisitor smartParkVisitor)
    {
        return smartParkVisitorMapper.updateByPrimaryKeySelective(smartParkVisitor);
    }

    /**
     * 删除访客管理信息
     *
     * @param id 访客管理ID
     * @return 结果
     */
    @Override
    public int deleteSmartParkVisitorById(Long id)
    {
        return smartParkVisitorMapper.deleteByPrimaryKey(id);
    }
}
